Skip to content

Comments

feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드#218

Merged
chsubinn merged 2 commits intodevelopfrom
feat/212-feedback-completed-status
Apr 21, 2025
Merged

feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드#218
chsubinn merged 2 commits intodevelopfrom
feat/212-feedback-completed-status

Conversation

@chsubinn
Copy link
Collaborator

🌱 관련 이슈


📌 작업 내용 및 특이사항

  • 스프린트별 참가자 목록을 반환하면서 동료 평가 여부를 feedbackStatus로 반환하게 하였습니다.
  • 접속 중인 회원 본인과 아직 동료평가를 받지 않은 회원은 PENDING, 동료평가를 받은 회원은 COMPLETED 상태로 반환됩니다.

📚 참고사항

@chsubinn chsubinn added this to the 4차 스프린트 milestone Apr 21, 2025
@chsubinn chsubinn self-assigned this Apr 21, 2025
Copy link
Member

@ht3064 ht3064 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 👍

@chsubinn chsubinn merged commit e3ba3da into develop Apr 21, 2025
1 check passed
ht3064 added a commit that referenced this pull request Apr 21, 2025
* init: project initial

* chore: 프로젝트 초기 세팅 (#4)

* docs: ISSUE 템플릿 추가

* docs: PR 템플릿 추가

* chore: .editorconfig 설정 파일 추가

* chore: checkstyle 적용

* chore: develop Branch Pull Request Workflow 추가

* fix: build.gradle checkstyle 경로 수정

* chore: Swagger 설정 (#6)

* chore: Swagger 설정

* feat: health check api 구현

* chore: actuator 설정 (#10)

* chore: Spring Security 설정 (#13)

* chore: security 의존성 추가

* refactor: swagger 패키지 이동

* feat: security 설정

* chore: 공통 응답 로직 설정 (#14)

* chore: 공통 응답 로직 설정 (#11)

* refactor: TestController 및 TestResponse 삭제

* chore: 공통 예외 처리 로직 구현(Exception Handler, ErrorCode, ErrorDetail)(#9) (#15)

* chore: 공통 예외 처리 로직 구현(Exception Handler, ErrorCode, ErrorDetail)(#9)

* fix: 공통 예외처리 로직&구조 수정

* fix: 공통 예외처리 로직&구조 수정

- AuthExceptionHandler -> GlobalHandlerManager 클래스명 변경
- Handler>Exception -> Manager>Handler로 구조 변경, Handler 메소드가 Exception 처리
- CustomException, CustomErrorCode 만 도메인 별로 생성, ErrorDetail 및 GlobalExceptionManager은 추후 필요에 따라 수정

- CommonResponseAdvice -> instance type 체크 로직 추가(Exception onFailure 응답 body 중복 방지)

* fix: ExceptionHandler 메소드 내 ErrorDetail 생성 시 ResponseMessage 필드 문자열 메세지 입력 방식 수정

- 기존 하드코딩 되던 responseMessage -> ErrorCode enum 인스턴스로 message 추가
- AuthException 등 excetpion 클래스 내 Getter 추가 -> ErrorCode.name + ErrorCode.message 결합하여 메세지 형태로 반환
- 추후 배포 시 ErrorCode 프론트단에 직접 노출할 필요 없어지면 해당 로직 수정

* fix: build.gradle 의존성 추가 및 ErrorDetail 생성자 내 경고 해결

- validation 의존성 추가
- swagger 의존성 파일 버전 변경(2.2.0 -> 2.8.0)
- ErrorDetail 생성자 내 불필요한 null 체크 로직 제거

* chore: CI/CD 파이프라인 구축 (#20)

* chore: plain jar 파일 생성 비활성화

* chore: Dockerfile 생성

* chore: CI/CD workflow 추가

* chore: Docker Compose 적용 (#22)

* chore: docker compose 파일 작성

* chore: DockerHub 사용자명 및 이미지 이름을 환경 변수로 변경

* chore: DockerHub 로그인에 액세스 토큰을 사용하도록 변경

* chore: Docker 이미지 태그 설정을 메타데이터 액션을 사용하도록 변경

* chore: EC2에 docker-compose.yml 복사하는 액션 추가

* chore: ssh-action에 환경 변수 전달 설정 추가

* fix: secrets ec2 유저네임 수정

* chore: docker-compose 적용으로 인한 배포스크립트 수정

* fix: 메타데이터 액션 오타 수정

* chore: 메타데이터 액션에 id 추가

* chore: docker-compose.yml에 env_file 추가

* chore: 개발 서버 workflow 이름 수정

* chore: build와 deploy를 하나의 job으로 통합

* chore: 테스트 트리거 제거

* chore: Redis 설정 (#23)

* refactor: .gitkeep 삭제

* chore: redis 의존성 추가

* chore: application.yml에 redis 설정 추가

* chore: env 파일 gitignore 추가

* chore: redis properties 추가

* chore: redis config 추가

* test: application-test.yml에 redis 설정 추가

* test: 테스트 환경에서 test 프로파일 활성화를 위한 @activeprofiles 추가

* chore: test를 위한 docker-compose-test.yml 생성

* chore: 빌드 시 docker-compose-test.yml을 사용하도록 설정

* chore: docker-compose.yml에 redis 추가

* chore: 테스트 트리거 활성화

* chore: redis 설정에 default 값 추가

* chore: application.yml 환경 분리 및 DB 설정 (#25)

* chore: application.yml 환경 별로 분리

* chore: 로컬 환경 h2 db 설정

* chore: mysql 의존성 추가

* chore: 개발 환경 rds 설정

* test: 테스트 환경 h2 db 설정

* chore: db 연결 설정에 serverTimezone 및 characterEncoding 추가

* feat: 소셜 로그인 구현 (#26)

* refactor: .gitkeep 삭제

* refactor: 사용하지 않는 헬스 체크 API 제거

* chore: security.yml 추가

* chore: google, kakao properties 추가

* chore: openfeign 의존성 추가

* chore: feign config 설정

* feat: 구글, 카카오 인증 서버로부터 ID 토큰 발급받는 기능 구현

* chore: jwt 의존성 추가

* chore: security.yml에 jwt 설정 추가

* chore: jwt properties 추가

* feat: 회원 도메인 구현

* feat: jwt 토큰 생성 유틸리티 구현

* feat: 리프레시 토큰 도메인 구현

* chore: jwt 토큰 검증 의존성 추가

* feat: 구글, 카카오 인증 서버로부터 받은 ID 토큰 검증 로직 구현

* chore: feign post 요청 시 body가 없을 경우 기본 값 설정

* feat: 소셜 로그인 기능 구현

* fix: 빌드 시 테스트 실패 문제 수정

* feat: 쿠키 유틸리티 구현

* refactor: 리프레시 토큰을 쿠키로 관리하도록 개선

* feat: 엑세스, 리프레시 토큰 파싱 로직 구현

* feat: 엑세스 토큰 검증 로직 및 jwt 필터 추가

* feat: 리프레시 토큰 검증 및 토큰 재발급 로직 추가

* fix: 임시로 모든 url 요청 허용

* chore: 테스트 트리거 제거

* feat: BaseTimeEntity 생성 (#30)

* feat: BaseTimeEntity 생성

* chore: jpa auditing config 추가

* refactor: 공통예외처리 로직 및 구조 수정 (#31)

- ErrorCode -> BaseErrorCode interface implements 하여 기존 error message, code, status 출력 로직 default method로 추가
- 문자열 조합하여 출력하던 errormessage -> ErrorMsg 객체 추가 + Builder 패턴 적용
- *Exception, *ExceptionHandler -> CommonException, CommonExceptionHandler 클래스로 일원화(필요시 각 클래스 extends)
- 테스트 코드 추가(단위테스트: given/when/then 3단계 로직 따라 수행)

* chore: 로그인한 멤버 조회 유틸리티 구현 (#34)

* refactor: response 패키지로 이동

* refactor: exception 패키지로 이동

* refactor: 사용하지 않는 AuthException 제거

* fix: 예외 발생 시 HTTP 상태 코드가 올바르게 반환되도록 수정

* refactor: 중복된 status 필드 제거

* feat: 멤버 유틸리티 구현

* test: exception test 패키지 이동

* refactor: UserDetails 생성 시 PrincipalDetails 사용하도록 변경

* test: 멤버 유틸리티 테스트

* feat: Swagger Authorization 헤더 추가 (#36)

* fix: 도커 컨테이너 Timezone Asia/Seoul로 변경 (#38)

* feat: 회원 탈퇴 구현 (#40)

* refactor: gitkeep 제거

* feat: 쿠키 삭제 로직 구현

* feat: 회원 탈퇴 기능 구현

* feat: 회원 탈퇴한 멤버의 엑세스 토큰으로 요청 시 예외가 발생하도록 설정

* feat: 회원 탈퇴 후 재가입 시 회원의 상태를 normal로 변경

* test: 회원 탈퇴 테스트 코드 작성

* test: 멤버 유틸리티 테스트 코드 수정

* fix: 소셜 로그인 시 리프레시 토큰은 응답 바디에 포함되지 않도록 수정

* fix: swagger 인증 설정 오류 수정

* chore: Querydsl 설정 (#42)

* chore: querydsl 의존성 추가

* chore: querydsl config 추가

* feat: 팀 생성 및 참여 구현 (#44)

* feat: 팀 서비스 구현

* feat: 팀 참가 서비스 구현

* feat: 팀 api 구현

* test: 팀 서비스 테스트

* chore: RedisTemplate 추가

* feat: 팀 초대 코드 서비스 추가

* fix: 팀 생성/참가 기능에 초대 코드 추가

* fix: response에서 data 내부로 이중 반환하는 문제 수정

* test: 초대코드 서비스 테스트

* test: 팀 서비스 테스트 수정

* refactor: 팀 생성/참여 관련 swagger 설명 추가

* chore: redisUtil 구현

* refactor: 팀 컨트롤러 반환 값 변경 및 코드 컨벤션

* fix: 팀 생성 요청 스키마 설정

* refactor: 메소드 명 수정

* fix: dto 스키마 설정

* test: 팀 생성/참여 관련 서비스 테스트

* fix: 스키마 재설정과 @Valid 설정

* fix: dto 스키마 수정

* refactor: 팀 서비스 assertThat & Nested 사용 수정

* refactor: 팀 서비스 테스트 @beforeeach 삭제

* refactor: redisConstants 설정

* refactor: randomUtil 설정

* refactor: dto 스키마

* refactor: Spotless Code Formatter 적용 (#51)

* refactor: checkstyle 제거

* chore: spotless 플러그인 추가 및 설정

* style: spotless

* chore: pre-commit 파일 생성

* chore: build.gradle 스크립트 추가

* feat: 회원 프로필 이미지 및 닉네임 변경 기능 구현 (#47)

* chore: s3 의존성 추가

* chore: s3.yml 추가

* chore: s3 properties 추가

* chore: s3 client config 추가

* feat: 회원 프로필 이미지 Presigned URL 생성

* feat: url 공통 상수 추가

* feat: 회원 프로필 이미지 업로드 완료 처리

* fix: 기본 S3 엔드포인트 사용하도록 수정

* feat: 회원 닉네임 변경 기능 구현

* test: 이미지 업로드 및 완료 처리 테스트

* refactor: 잘못 추가된 패키지 제거

* refactor: gitkeep 제거

* refactor: 패키지명 수정

* test: 회원 닉네임 변경 테스트

* style: spotless

* chore: Validation 및 Internal Server Error 처리 (#55)

* feat: MethodArgumentNotValidException 예외 처리

* fix: request dto valid @notempty로 수정

* feat: Internal Server Error 예외 처리

* refactor: custom exception 메서드명 변경

* feat: 회원 정보 조회 (#59)

* feat: 회원 정보 조회 기능 구현

* test: 회원 정보 조회 테스트

* feat: 로그아웃 구현 (#58)

* feat: 로그아웃 기능 구현

* test: 로그아웃 테스트

* feat: 팀 수정, 팀 삭제, 팀 기본 정보 조회 기능 구현 (#53)

* feat: 팀 수정 및 삭제 기능 구현

* test: 팀 수정 및 삭제 서비스 테스트

* fix: 팀 이름 제한 수정

* fix: 초대코드 사이즈 제한 삭제

* refactor: PathVariable 앞 슬래시 추가

* fix: image request dto validation 수정 (#64)

* feat: project/sprint/task 도메인 추가 (#56)

* feat: project/sprint/task 도메인 추가

* fix: project/sprint/task 도메인 수정사항 반영

-@manytoone 매핑 fetch 옵션 LAZY 추가
- Ranking 엔티티 삭제(추후 구현)
- 일대다 매핑 추가(Sprint, Task 등 영속성 및 생명주기 관리 위한 cascade, orphanremoval 옵션 추가)

* fix: Project/Sprint 객체 생성 시 매개변수 필드 수정

- @nullable 로 List 자료형 매개변수 입력받는 기존 로직 -> 매개변수에서 제외, 무조건 빈 ArrayList 객체 필드 초기화, 자식 객체 생성 시에 매핑
- taskDifficulty 상/중/하(High/Mid/Low) 로 enum 값 설정

* fix: 중복된 칼럼 이름 변경

* fix:Builder에 사용된 중복된 List 객체 초기화 로직 제거

* feat: 팀 도메인에 이모지 추가 (#66)

* feat: 팀 이모지 관련 기능 추가

* test: 팀 이모지 기능 구현에 따른 팀 생성/수정 서비스 테스트

* refactor: 팀 서비스 테스트 전역 변수 관련 수정

* feat: 회원이 참여한 팀 목록 조회 (#67)

* refactor: 팀 도메인 필드명 수정

* feat: 회원이 참여한 팀 목록 조회

* test: 회원이 참여한 팀 목록 조회 테스트

* fix: 테스트가 실행되지 않는 오류 수정

* test: 테스트 격리 (#76)

* test: 데이터베이스 클리너 구현

* test: 통합 테스트 베이스 클래스 구현

* test: 통합 테스트 베이스 클래스 상속받도록 변경

* test: 테스트 환경 H2 DB 설정

* fix: 데이터베이스 클리너 로직 수정

* refactor: participant 도메인명 수정

* feat: 이미지 삭제 스케줄러 추가 (#72)

* chore: scheduler config 추가

* feat: 이미지 삭제 스케줄러 구현

* feat: 프로젝트 생성/조회 구현 (#68)

* feat: project 생성/조회 구현

* feat: projectParticipant 등록 구현

* refactor: 테스트 로직 및 API 응답 코드 수정/ 팀 ID로 프로젝트 목록 전체 조회 로직 추가

* feat: date period 유효성 검증 로직 추가

* fix: date period 유효성 검증 방식: 서비스에서 util 활용-> 엔티티 생성 시 검증하도록 변경

* fix: teamCreate 매개변수 타입 오류 해결 및 깃 merge commit 롤백

* fix: ProjectController API @Valid 어노테이션 제거

* fix: 테스트 오류 디버깅 위한 ProjectServiceTest 주석 처리

* fix: ProjectServiceTest @AfterEach 사용한 DB clear 로직 추가

* fix: 테스트 오류 디버깅 위한 TeamServiceTest 내 회원 참여 팀 정보 조회 테스트 주석 처리

* fix: Project 도메인 및 관련 클래스 내 Participant -> TeamParticipant 수정 / ProjectServiceTest->IntegrationTest 상속

* fix: createService 반환 타입 void 변경 및 테스트 코드 수정, ProjectInfoResponse 에 누락된 projectDescription 필드 추가

* fix: project dto schema 수정- projectDescription의 description

* fix: project reqeust - validation 추가(description 필드제외)

* fix: project request dto -> json 포맷팅 추가

* fix: project request 수정에 의한 테스트 오류 수정

* fix: project test 어노테이션 제거

* refactor: LocalDateTime 타입 LocalDate 변경 및 JsonProperty 어노테이션 제거 (#80)

* refactor: LocalDateTime 타입 LocalDate 변경 및 JsonProperty 어노테이션 제거

* refactor: deprecated 된 required = 'true' 옵션 제거

* feat: 팀에 속한 회원 이미지, 회원 목록, 팀장 조회  (#78)

* feat: 팀에 속한 회원 프로필 이미지 기능 구현

* test: 팀 멤버 조회 서비스 테스트

* feat: 팀장 제외 모든 멤버 목록 조회

* refactor: 팀 멤버 프로필 이미지 쿼리 변경

* feat: 팀 스페이스 내 팀장 조회 기능

* feat: 팀장 조회, 팀 멤버 목록 조회 기능 구현

* test: 팀장 조회, 팀 멤버 목록 조회 기능 테스트

* refactor: 리뷰 내용 반영
 - 팀 컨트롤러 내부 스키마 설명 수정
 - 조회 메소드 Transactional 설정
 - 팀 내 멤버 조회 메소드 멤버 리포지토리 이동
 - TeamAdminResponse 구현

* refactor: 팀장 응답 DTO 반환 시 query projection 사용 설정

* refactor: PathVariable 사용 변경

* refactor: projection에서 정적 팩토리 메소드 사용 변경

* refactor: projection 삭제

* fix: 팀장 조회 시 팀 참가자 validation 추가

* feat: 스프린트 생성 기능 구현 (#83)

* feat: 스프린트 생성 구현

* refactor: 예외 처리 시 상태 코드 수정

* refactor: Swagger API 목록 정렬 (#89)

* chore: swagger yml 설정

* refactor: API 태그 수정

* feat: 스프린트 수정, 삭제 기능 구현 (#86)

* feat: 스프린트 기본 정보 수정 구현

* feat: 스프린트 일정 및 진행 상태 수정 구현

* feat: 스프린트 삭제 구현

* refactor: 상태 코드 NOT FOUND로 수정

* feat: 스프린트 일정 validation 추가

* feat: 스프린트 생성 시에도 프로젝트 일정 범위 내에 있는지 체크하는 validation 추가

* feat: 프로젝트 리더만 스프린트를 삭제할 수 있도록 수정

* refactor: 예외 응답에서 field 및 given 제거 (#93)

* refactor: 예외 응답에서 field, given 제거

* fix: 테스트 코드 수정

* refactor: 스프린트 제목에 번호가 자동으로 지정되도록 변경 (#95)

* refactor: 스프린트 생성 시 번호가 자동으로 지정되도록 변경

* refactor: 스프린트 수정 시 제목을 수정하지 않도록 변경

* refactor: 스프린트 삭제 시 제목이 자동으로 조정되도록 변경

* feat: 프로젝트 업데이트 구현 (#85)

* feat: project 타이틀/목표/상세설명/일정 정보(시작/마감/상태) 업데이트 로직 구현

* refactor: 프로젝트 업데이트 API http method 수정

* refactor: 프로젝트 업데이트 로직 수정: Basic/TodoDate/TodoStatus update로 로직 재편 및 path variable 추가

* refactor: 프로젝트 업데이트 시 프로젝트 참여자 검증 로직 추가

* refactor: project save 메소드 제거 & dynamicUpdate 어노테이션 제거

* refactor: project not found 에러코드 교체

* refactor: project 참여 중인 프로젝트 리스트 패키징 -> isParticipate 로 구분하도록 로직 수정

* refactor: todo date/status 업데이트 로직 통합

* refactor: Project not found 에러코드 수정으로 인한 exception handler 테스트 오류 수정(400 -> 404)

* refactor: Project Controller Validation추가 + 단일 조회 시 프로젝트 참여자 검증 로직 추가

* refactor: basic-info/todo-info 엔드포인트명 수정 & ProjectTodoInfoUpdateRequest @NotNull validation 해제

* refactor: Project Title 텍스트 정규화 추가

* refactor: Basic/Todo Nullable 어노테이션 제거

* feat: Task 생성, 수정, 삭제 기능 구현 (#96)

* feat: 태스크 생성, 수정, 삭제 기능 구현

* test: 태스크 생성, 수정, 삭제 기능 테스트

* fix: 프로젝트 생성 테스트시 예시 변경

* fix: valid 어노테이션 및 request dto 수정

* refactor: 에러코드 메시지 수정

* refactor: swagger api 순서 기재, 에러코드 수정

* fix: 요청 dto 내 not null, not blank 삭제

* refactor: swagger tag 수정

* refactor: 태스크 에러코드 메시지 수정

* fix: 태스크 assign status 서비스 관련 수정

* feat: 태스크 완료 기능 구현

* test: 태스크 완료 & 할당 기능 테스트

* fix: taskInfoResponse 내용 수정

* fix: TaskServiceTest 내 스프린트 생성 수정

* refactor: 태스크 응답 dto 메소드 오버로딩

* fix: 프로젝트 참여자 검증 로직 추가

* feat: 태스크 중복 할당 예외처리

* refactor: 미사용 메소드 삭제

* test: 스프린트 테스트 코드 추가 (#100)

* test: 스프린트 생성 테스트 작성

* test: 스프린트 수정 테스트 작성

* test: 스프린트 삭제 테스트 작성

* feat: sos 기능 구현 & 관련 태스크 메소드 수정  (#104)

* feat: sos 상태 변환 메소드 구현

* feat: sos에서 task 할당 관련 권한 처리

* test: sos 관련 task 서비스 테스트

* fix: sos처리 된 task 할당 시 sos 상태 변경 수정

* feat: 프로젝트 삭제/나가기 구현 (#101)

* feat: project 삭제/나가기 로직 구현 + utill 중복 제거

* feat: delete 테스트 추가 및 프로젝트 삭제 시 연관된 모든 projectParticipant 삭제 로직 추가

* refactor: Http 상태코드 수정 + 메소드 래핑 제거

* feat: project 나가기 -> admin 권한 예외처리

- 프로젝트 참여자가 admin 1명일 때: project 삭제
- 프로젝트 참여자가 admin + 일반 유저 N명일 때: 에러 발생 -> 별도 API 로 권한 변경 필요
- projectAdminChange 위한 엔드포인트 추가

* refactor: 프로젝트 삭제 swagger summary 수정

* feat: 프로젝트별 스프린트 목록 조회 (#106)

* feat: 프로젝트별 스프린트 목록 조회 구현

* test: 프로젝트별 스프린트 목록 조회 테스트

* refactor: 파라미터 설명 수정

* fix: 팀 참여자가 스프린트 목록을 조회할 수 있도록 수정

* feat: OpenAI 기반 피드백 메시지 개선 (#109)

* chore: openai 설정 추가

* chore: openai properties 추가

* chore: openai feign client 추가

* refactor: openai 도입에 따른 feign config 수정

* feat: openai 기반 피드백 메시지 개선 구현

* refactor: 엔드포인트 수정

* feat: 프로젝트 가입/참여자 조회 구현 (#108)

* feat: 프로젝트 가입신청/승인/거절, 프로젝트 참가자 개인/목록 조회 로직 구현

* feat: 프로젝트 가입신청 취소 로직 구현 + 일부 메소드/url 매핑 오류 해결

* feat: 프로젝트 가입 신청/승인&거부, 프로젝트 참가자 조회 테스트 구현

* refactor: projectParticipant 도메인 projectNickname/projectProfileImageUrl 필드 추가 및 관련 로직 수정, 프로젝트 조회 시 프로젝트 멤버 확인 로직 삭제

* refactor: project 도메인 goal 필드 제거

* refactor: projectParticipant 도메인 position 필드 제거

* refactor: project 최대 참여 가능 멤버 수 제한(15명)

* refactor: projectParticipant 삭제 -> nickname/profileurl unknown 변경

* refactor: projectRegistration 스키마 오류 수정/fetchType 변경

* refactor: 이미 참가충인 프로젝트 참가자 가입신청 제한 로직 추가(admin/일반유저 구분 x)

* refactor: 미사용 projectParticiaption 존재 여부 확인 메서드 삭제

* feat: 피드백 메시지 전송 기능 구현 (#114)

* feat: 피드백 메시지 전송 기능 구현

* feat: 같은 스프린트에서 특정 대상에게 피드백은 한 번만 보낼 수 있도록 제한

* refactor: 피드백 중복 전송 예외 상태 코드를 409 CONFLICT로 변경

* feat: 피드백 메시지 전송 시 최대 길이를 600자로 제한

* test: 피드백 메시지 전송 기능 테스트

* feat: 스프린트 마감 당일에만 피드백 메시지를 전송할 수 있도록 제한

* test: 스프린트 마감 당일에만 피드백 전송 가능 여부 검증 테스트 추가

* refactor: 불필요한 value 속성 제거

* refactor: 프로젝트 목록 조회 QueryDSL 적용 (#105)

* feat: project 목록 참여별 조회 -> QueryDSL 페이지네이션 적용

* refactor: Project 목록조회 -> isParticipant 필터 적용, ProjectRegistration 목록 조회 페이지네이션 적용

* refactor: QEntity static import

* refactor: Projection constructor 생성자 컨벤션 수정

* refactor: custom Repostiory 상속 관계 정리 -> 메인 레포지토리로 일원화

* refactor: projectRegistrationRepository 칼럼 매핑명 오류 수정

* feat: 팀 미팅 생성 구현 (#117)

* feat: 팀 미팅 생성 구현(Sprint 도메인 의존성 추가 +SprintRepository 단일 조회 로직 추가

* refactor: 미팅 일시 dto description 수정

* refactor: meetingCreate 요청 형식 수정, 불필요한 Sprint 레포지토리 쿼리 메소드 삭제

* refactor: mapping url 추가

* refactor: 응답코드 created 수정

* refactor: 동일 제목/타이틀 방지 검증 로직 추가

* refactor: SprintRepository 기본조회로직 제거 확인

* refactor: MeetingRepository 기본조회로직 제거

* refactor: MeetingDt -> MeetingStart, MeetingEnd 분화, 8:00-00:00 검증로직 추가

* refactor: create url 수정

* refactor: 에러코드 메세지 도메인 변경사항 맞춰 일부 수정

* refactor: 스웨거 명세서 번호 수정 (8->9)

* feat: 피드백 메시지 조회 기능 구현 (#116)

* feat: 특정 프로젝트 참여자가 스프린트에서 받은 피드백 조회 기능 구현

* test: 특정 프로젝트 참여자가 스프린트에서 받은 피드백 조회 기능 테스트

* refactor: 프로젝트 참여자 ID 대신 프로젝트 ID 기반으로 조회하도록 변경

* test: 프로젝트 ID 기반 조회 방식 적용에 따른 테스트 코드 수정

* feat: 스프린트별 태스크 목록 조회 · 회원이 담당하고 있는 태스크 목록 조회 기능 구현  (#107)

* feat: 프로젝트별/스프린트별/멤버별 태스크 목록 조회 기능 구현

* refactor: 프로젝트별 태스크 조회 기능 삭제

* feat: 회원이 담당하고 있는 task 목록 스프린트 아이디별 조회 기능 구현

* test: 회원이 담당하고 있는 task 목록 스프린트 아이디별 조회 기능 테스트

* fix: 태스크 조회 시 필요 권한 삭제

* feat: 프로젝트 내 태스크 조회 권한 수정

* fix: 응답 dto 로직 제거

* feat: 태스크 목록 조회 시 queryDSL 설정

* refactor: task내 todoInfo 삭제 및 타 필드 추가

* refactor: projectParticipant 필드 수정 및 테스트케이스 반영 (#125)

* feat: 기여도 · 진척도 조회 기능 구현 (#112)

* refactor: sprint 패키지 내 기여도 부분 삭제

* feat: 기여도 조회 기능 구현

* test: 기여도 기능 테스트

* refactor: api description 수정

* feat: sprint별 진척도 조회 기능 구현

* test: sprint별 진척도 조회 기능 테스트

* fix: 스프린트 내 태스크가 존재하지 않을 경우 에러 처리

* fix: 등위 처리 관련 오류 수정

* fix: 스프린트 기여도 조회 권한 수정

* fix: 등위 필드 삭제

* refactor: 태스크 완료 시 진척도 업데이트 수정

* fix: 스프린트 필드 수정으로 인한 타 테스트 에러 수정

* refactor: 기여도 패키지/필드 이름 수정

* feat: 태스크 상태 변경 시 기여도 업데이트

* fix: 개인 기여도 조회 시 프로젝트 참여자 아이디 참조 수정:

* fix: PathVariable 프로젝트 아이디 수정

* test: 프로젝트 참가 포함 테스트 코드 추가

* fix: contribution dto 수정

* refactor: 개인 기여도 조회 시 스프린트 아이디 조회 설정

* fix: 프로젝트와 스프린트 일치 validate 로직 추가

* fix: 진척도/기여도 계산 시 유리수, dto 반환 시 정수 설정

* fix: 태스크 상태·sos 상태 수정 권한 수정, 이미 완료된 태스크 완료 시 에러 처리

* refactor: 프로젝트, 스프린트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경 (#128)

* refactor: 프로젝트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경

* refactor: 스프린트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경

* refactor: 프로젝트 수정 시 시작 날짜를 요청에서 제외하도록 변경

* fix: request dto 필드 수정

* refactor: 스프린트 수정 시 시작 날짜를 요청에서 제외하도록 변경

* test: 시작 날짜 요청 제거에 따른 테스트 코드 수정

* test: 스프린트 테스트 추가

* test: 스프린트 테스트 코드 수정

* test: 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* feat: 팀 미팅 수정/조회/삭제 (#123)

* feat: 팀 미팅 생성 구현(Sprint 도메인 의존성 추가 +SprintRepository 단일 조회 로직 추가

* refactor: 미팅 일시 dto description 수정

* refactor: meetingCreate 요청 형식 수정, 불필요한 Sprint 레포지토리 쿼리 메소드 삭제

* refactor: 동일 제목/타이틀 방지 검증 로직 추가

* refactor: SprintRepository 기본조회로직 제거 확인

* refactor: MeetingDt -> MeetingStart, MeetingEnd 분화, 8:00-00:00 검증로직 추가

* refactor: 팀 미팅 수정(스케줄러 로직-> 서비스 레이어로 이동, MeetingStart/End 개별 업데이트 가능하도록 로직 수정, MeetingInfoResponse 정적팩토리메소드 이름 수정)

* feat: meeting update 테스트 케이스 추가

* feat: meeting 조회 테스트 케이스 추가

* refactor: 미팅 시작/종료 시간 검증로직 순서 재배치

* refactor: 테스트 중 작성한 디버깅 코드 삭제

* refactor: start/end null 값으로 개별 업데이트 가능하도록 수정

* refactor: start/end 업데이트 시 검증 로직 수정 + 기존 일정 중첩 여부 검사 시 객체 자신 포함하지 않도록 쿼리 수정

* refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmin 응답필드 추가 (#133)

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정  (#131)

* fix: 스프린트 삭제 시 연관된 피드백도 함께 삭제되도록 orphanRemoval 설정 추가

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되지 않도록 수정

* test: 기존 스프린트가 종료되지 않은 경우 새 스프린트 생성 제한 테스트

* refactor: Class 객체 참조 시 불필요한 객체 생성 제거

* test: 기능 수정에 따른 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* Revert "refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmi…" (#135)

This reverts commit 9ba4a3c.

* refactor: 프로젝트 참가자 목록 조회 API 페이지네이션 적용 (#126)

* refactor: 프로젝트 참가자 목록 조회 페이지네이션 적용

* refactor: 프로젝트 내 개인 참가자 정보 조회 스웨거 설명 수정

* test: 리팩토링에 따른 테스트 코드 수정

* Revert "fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정  (#131)" (#136)

This reverts commit 32d65a2.

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정 (#137)

* fix: 스프린트 삭제 시 연관된 피드백도 함께 삭제되도록 orphanRemoval 설정 추가

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되지 않도록 수정

* test: 기존 스프린트가 종료되지 않은 경우 새 스프린트 생성 제한 테스트

* refactor: Class 객체 참조 시 불필요한 객체 생성 제거

* test: 기능 수정에 따른 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* feat: 회원별 프로젝트 내 스프린트 목록 조회 기능 구현  (#132)

* feat: 개인별 스프린트 목록 조회 기능 구현

* fix: 진척도 반환 시 정수로 반환 수정

* fix: 팀 참가자 검증 로직 수정

* chore: Nginx 리버스 프록시 도입 및 HTTPS 적용 (#138)

* chore: docker compose version 제거

* chore: nginx.conf 파일 추가

* chore: docker compose에 nginx 컨테이너 추가

* chore: nginx 도입에 따른 CI/CD 워크플로 수정

* chore: 테스트 트리거 활성화

* chore: 프로파일에 따라 Swagger 서버 URL 동적 설정

* chore: 개발 환경에서 CORS 허용 도메인 설정 추가

* chore: 테스트 트리거 제거

* refactor: 프로젝트 목록 조회 시 Admin 표시 (#142)

* refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmin 응답필드 추가

* refactor: 테스트 코드 줄바꿈 적용

* chore: SpringEnvironmentHelper 적용 (#144)

* feat: 프로젝트 가입 신청 목록 조회 시 request의 닉네임과 프로필 함께 조회 (#146)

* chore: 개발 환경 ddl-auto 설정 변경 (#148)

* chore: 피드백 API security 설정

* chore: 개발 환경 ddl auto update로 변경

* fix: 프로젝트에서 나간 사용자(Unknown)에게 피드백 전송이 불가능하도록 수정 (#150)

* chore: 피드백 API security 설정

* fix: 프로젝트에서 나간 사용자(Unknown)에게 피드백 전송이 불가능하도록 수정

* test: Unknown 사용자에게 피드백 전송 시 예외 발생 테스트

* test: 피드백 전송 테스트 코드 수정

* fix: 스프린트 수정 시 마감일을 다음 스프린트 시작일 이후로 설정할 수 없도록 수정 (#153)

* fix: 스프린트 일정 수정 요청 시 마감일이 다음 스프린트 시작일 이후면 예외 발생하도록 검증 추가

* test: 스프린트 일정 수정 시 마감일 검증 테스트 추가

* feat: 스프린트와 태스크 조회 기능 구현  (#152)

* feat: 프로젝트 내 스프린트&태스크 목록 조회 기능 구현

* feat: 스프린트 기본 정보 조회 기능 구현

* feat: 회원별 스프린트 목록 조회 기능 구현

* fix: task response에 sos status 추가

* fix: task response 내 스프린트 아이디 필드 삭제

* fix: 메소드명 수정

* Revert "feat: 스프린트와 태스크 조회 기능 구현  (#152)" (#154)

This reverts commit e2e0ba4.

* refactor: project 삭제 uri 수정 (#158)

* refactor: 프로젝트 기본 정보 수정 Request Dto에서 goal 필드 제거 (#160)

* refactor: 프로젝트 기본 정보 수정 Request Dto에서 goal 필드 제거

* test: Request Dto에서 goal 제거에 따른 테스트 코드 수정

* feat: 스프린트 & 태스크 조회 기능 구현  (#155)

* feat: 프로젝트 내 스프린트&태스크 목록 조회 기능 구현

* feat: 스프린트 기본 정보 조회 기능 구현

* feat: 회원별 스프린트 목록 조회 기능 구현

* fix: task response에 sos status 추가

* fix: task response 내 스프린트 아이디 필드 삭제

* fix: 메소드명 수정

* refactor: 코드 통합 중 충돌 해결

* fix: 팀 정보 수정 시 팀 이모지 포함 수정 (#164)

* refactor: 프로젝트 및 스프린트 수정 API 하나로 통합 (#165)

* refactor: 프로젝트 수정 API 통합

* refactor: 스프린트 수정 API 통합

* test: API 수정에 따른 테스트 코드 수정

* refactor: 프로젝트 관련 에러 코드 네이밍 변경

* refactor: 스프린트 관련 에러 코드 네이밍 변경

* fix: 스프린트 페이징 방향 처리 누락으로 인한 목록 조회 오류 수정 (#169)

* fix: 기존 lastSprintId 기반 단방향 페이징을 direction 기반 양방향 구조로 수정

* test: 스프린트 목록 조회 테스트 코드 수정

* refactor: 스프린트 목록 조회 query 리팩토링

* refactor: Docker 네트워크 모드 bridge로 변경 (#161)

* refactor: docker network bridge로 변경

* fix: nginx.conf 파일 수정

* fix: Docker bridge 네트워크 전환 후 Nginx 502 에러 수정 (#171)

* fix: nginx proxy_pass 대상 devfit-server로 수정

* fix: redis 컨테이너 포트 제거

* fix: nginx 컨테이너 80 포트 추가

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

* fix: 태스크 진행 상태별 수정 삭제 권한 설정 (#176)

* chore: Swagger 보안 설정 (#167)

* chore: swagger 접근 시 username/pwd 인증

* chore: local과 dev swagger 로그인 설정 분리

* chore: swagger username 관련 application.yml 수정

* chore: .zshrc 파일 삭제

* chore: swagger userdetail 테스트 환경에서 빈 생성 방지 설정

* chore: 환경변수 그룹화

* refactor: projectInfoResponse teamName 추가 (#180)

* fix: 태스크 sos 후 본인 할당 문제 수정 (#178)

* fix: 태스크 sos 후 본인 할당 문제 수정

* fix: task 에러코드 메시지 수정

* fix: 에러코드 수정

* fix: 태스크 완료 처리 후 undo 기능 추가 & SOS 상태 태스크 완료 시 예외처리 (#177)

* fix: 태스크 완료 처리 후 undo 기능 추가 & SOS 상태 태스크 완료 시 예외처리

* fix: 에러코드 수정

* fix: validateTaskModifyAcess 메소드 분리

* feat: 운영 환경 구성 (#182)

* feat: prod 환경 지원을 위한 상수 및 profile 설정 추가

* feat: prod 환경에서 Swagger 인증 및 CORS 허용 도메인 설정 추가

* refactor: Swagger 인증용 InMemoryUserDetailsManager를 WebSecurityConfig로 이동

* feat: Swagger 인증 계정에 비밀번호 암호화 적용

* feat: feat: prod 환경 구성용 application-prod.yml 추가

* chore: 운영 환경 workflow 추가

* feat: Swagger 인증 환경 변수에 기본값 적용

* refactor: 개발 및 운영 환경에서 쿠키 설정 변경 (#184)

* refactor: 운영 환경에서 Cookie SameSite 속성 Strict로 변경

* refactor: 개발 및 운영 환경에서 secure 속성 true로 변경

* refactor: 쿠키 CORS 세팅 임시 완화 (#186)

* refactor: cookie cors 설정 일시적 무력화

* refactor: cookie secure 설정 해제

* Refactor/185 cookie cors tmp (#187)

* refactor: cookie cors 설정 일시적 무력화

* refactor: cookie secure 설정 해제

* cors 검증 일시 무력화

* cors 운영 프로필에 local url cors 임시 허용

* Revert "Refactor/185 cookie cors tmp (#187)" (#188)

This reverts commit 1119788.

* refactor: 프로젝트 참여자 나간 상태를 UNKNOWN 처리 방식에서 참여 상태로 관리하도록 개선 (#191)

* refactor: 프로젝트 참여자 프로필 필드 제거 및 참여 상태 필드 추가

* test: 프로젝트 참여자 필드 변경에 따른 테스트 코드 수정

* test: 프로젝트 서비스 테스트 코드 수정

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

* test: 태스크 조회 테스트 코드 임시 주석 처리

* refactor: meetingInfoResponse 응답 필드에 meetingId 추가 (#194)

* fix: 스프린트 내 태스크가 조회되지 않을 경우 예외 처리 & 팀/프로젝트/태스크 명 글자수 제한  (#195)

* fix: 팀/프로젝트/스프린트/태스크/미팅/회원 명 글자수 제한

* fix: 프로젝트 참가자 관련 필드 조인 수정

* fix: 기여도/태스크 dto 내 프로젝트 참가자 아이디 필드명 변경

* fix: 중복 메소드 제거

* refactor: changeProjectAdmin-> memberId -> projectParticipantId로 변경 (#197)

* refactor: projectParticipant status inactive 일 때 isParticipant 속성 false (#201)

* refactor: projectRegistration 검증 로직 status-Active 확인하도록 수정 (#203)

* Refactor/202 project request status (#204)

* refactor: projectRegistration 검증 로직 status-Active 확인하도록 수정

* refactor: project 목록 조회 시 joinStatus DTO 필드에 추가 및 쿼리 수정

* refactor: projectRegistration 생성 시 팀 전체-> 프로젝트 해당하는 요청만 검증하도록 오류 수정 (#205)

* bug: DB에 중복 칼럼 있을 시 첫번쨰 registration 반환하도록 디버깅 (#206)

* refactor: projectRegistration 생성 시 팀 전체-> 프로젝트 해당하는 요청만 검증하도록 오류 수정

* db에 중복 칼럼 있을 시 첫번쨰 registration 반환하도록 디버깅

* fix: 프로젝트 참가 칼럼명 수정 (#209)

* feat: 프로젝트별 스프린트 아이디 목록 조회 기능 (#211)

* feat: 프로젝트별 스프린트 아이디 목록 조회 기능

* refactor: sprintIdResponse 내 필드명 수정

* refactor: projectRegistration 삭제 요청 파라미터 및 내부 로직 수정 (#214)

* refactor: api 요청 파라미터 수정 (#215)

* feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드 (#218)

* feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드

* fix: 빈 result를 반환하는 문제 수정

* fix: OpenAI 피드백 메시지 프롬프트 수정 (#217)

* fix: OpenAI 피드백 메시지 프롬프트 수정

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

---------

Co-authored-by: Subin Cho <109792191+chsubinn@users.noreply.github.com>
Co-authored-by: Sunwoo Jung <104188728+willjsw@users.noreply.github.com>
ht3064 added a commit that referenced this pull request Apr 21, 2025
* init: project initial

* chore: 프로젝트 초기 세팅 (#4)

* docs: ISSUE 템플릿 추가

* docs: PR 템플릿 추가

* chore: .editorconfig 설정 파일 추가

* chore: checkstyle 적용

* chore: develop Branch Pull Request Workflow 추가

* fix: build.gradle checkstyle 경로 수정

* chore: Swagger 설정 (#6)

* chore: Swagger 설정

* feat: health check api 구현

* chore: actuator 설정 (#10)

* chore: Spring Security 설정 (#13)

* chore: security 의존성 추가

* refactor: swagger 패키지 이동

* feat: security 설정

* chore: 공통 응답 로직 설정 (#14)

* chore: 공통 응답 로직 설정 (#11)

* refactor: TestController 및 TestResponse 삭제

* chore: 공통 예외 처리 로직 구현(Exception Handler, ErrorCode, ErrorDetail)(#9) (#15)

* chore: 공통 예외 처리 로직 구현(Exception Handler, ErrorCode, ErrorDetail)(#9)

* fix: 공통 예외처리 로직&구조 수정

* fix: 공통 예외처리 로직&구조 수정

- AuthExceptionHandler -> GlobalHandlerManager 클래스명 변경
- Handler>Exception -> Manager>Handler로 구조 변경, Handler 메소드가 Exception 처리
- CustomException, CustomErrorCode 만 도메인 별로 생성, ErrorDetail 및 GlobalExceptionManager은 추후 필요에 따라 수정

- CommonResponseAdvice -> instance type 체크 로직 추가(Exception onFailure 응답 body 중복 방지)

* fix: ExceptionHandler 메소드 내 ErrorDetail 생성 시 ResponseMessage 필드 문자열 메세지 입력 방식 수정

- 기존 하드코딩 되던 responseMessage -> ErrorCode enum 인스턴스로 message 추가
- AuthException 등 excetpion 클래스 내 Getter 추가 -> ErrorCode.name + ErrorCode.message 결합하여 메세지 형태로 반환
- 추후 배포 시 ErrorCode 프론트단에 직접 노출할 필요 없어지면 해당 로직 수정

* fix: build.gradle 의존성 추가 및 ErrorDetail 생성자 내 경고 해결

- validation 의존성 추가
- swagger 의존성 파일 버전 변경(2.2.0 -> 2.8.0)
- ErrorDetail 생성자 내 불필요한 null 체크 로직 제거

* chore: CI/CD 파이프라인 구축 (#20)

* chore: plain jar 파일 생성 비활성화

* chore: Dockerfile 생성

* chore: CI/CD workflow 추가

* chore: Docker Compose 적용 (#22)

* chore: docker compose 파일 작성

* chore: DockerHub 사용자명 및 이미지 이름을 환경 변수로 변경

* chore: DockerHub 로그인에 액세스 토큰을 사용하도록 변경

* chore: Docker 이미지 태그 설정을 메타데이터 액션을 사용하도록 변경

* chore: EC2에 docker-compose.yml 복사하는 액션 추가

* chore: ssh-action에 환경 변수 전달 설정 추가

* fix: secrets ec2 유저네임 수정

* chore: docker-compose 적용으로 인한 배포스크립트 수정

* fix: 메타데이터 액션 오타 수정

* chore: 메타데이터 액션에 id 추가

* chore: docker-compose.yml에 env_file 추가

* chore: 개발 서버 workflow 이름 수정

* chore: build와 deploy를 하나의 job으로 통합

* chore: 테스트 트리거 제거

* chore: Redis 설정 (#23)

* refactor: .gitkeep 삭제

* chore: redis 의존성 추가

* chore: application.yml에 redis 설정 추가

* chore: env 파일 gitignore 추가

* chore: redis properties 추가

* chore: redis config 추가

* test: application-test.yml에 redis 설정 추가

* test: 테스트 환경에서 test 프로파일 활성화를 위한 @activeprofiles 추가

* chore: test를 위한 docker-compose-test.yml 생성

* chore: 빌드 시 docker-compose-test.yml을 사용하도록 설정

* chore: docker-compose.yml에 redis 추가

* chore: 테스트 트리거 활성화

* chore: redis 설정에 default 값 추가

* chore: application.yml 환경 분리 및 DB 설정 (#25)

* chore: application.yml 환경 별로 분리

* chore: 로컬 환경 h2 db 설정

* chore: mysql 의존성 추가

* chore: 개발 환경 rds 설정

* test: 테스트 환경 h2 db 설정

* chore: db 연결 설정에 serverTimezone 및 characterEncoding 추가

* feat: 소셜 로그인 구현 (#26)

* refactor: .gitkeep 삭제

* refactor: 사용하지 않는 헬스 체크 API 제거

* chore: security.yml 추가

* chore: google, kakao properties 추가

* chore: openfeign 의존성 추가

* chore: feign config 설정

* feat: 구글, 카카오 인증 서버로부터 ID 토큰 발급받는 기능 구현

* chore: jwt 의존성 추가

* chore: security.yml에 jwt 설정 추가

* chore: jwt properties 추가

* feat: 회원 도메인 구현

* feat: jwt 토큰 생성 유틸리티 구현

* feat: 리프레시 토큰 도메인 구현

* chore: jwt 토큰 검증 의존성 추가

* feat: 구글, 카카오 인증 서버로부터 받은 ID 토큰 검증 로직 구현

* chore: feign post 요청 시 body가 없을 경우 기본 값 설정

* feat: 소셜 로그인 기능 구현

* fix: 빌드 시 테스트 실패 문제 수정

* feat: 쿠키 유틸리티 구현

* refactor: 리프레시 토큰을 쿠키로 관리하도록 개선

* feat: 엑세스, 리프레시 토큰 파싱 로직 구현

* feat: 엑세스 토큰 검증 로직 및 jwt 필터 추가

* feat: 리프레시 토큰 검증 및 토큰 재발급 로직 추가

* fix: 임시로 모든 url 요청 허용

* chore: 테스트 트리거 제거

* feat: BaseTimeEntity 생성 (#30)

* feat: BaseTimeEntity 생성

* chore: jpa auditing config 추가

* refactor: 공통예외처리 로직 및 구조 수정 (#31)

- ErrorCode -> BaseErrorCode interface implements 하여 기존 error message, code, status 출력 로직 default method로 추가
- 문자열 조합하여 출력하던 errormessage -> ErrorMsg 객체 추가 + Builder 패턴 적용
- *Exception, *ExceptionHandler -> CommonException, CommonExceptionHandler 클래스로 일원화(필요시 각 클래스 extends)
- 테스트 코드 추가(단위테스트: given/when/then 3단계 로직 따라 수행)

* chore: 로그인한 멤버 조회 유틸리티 구현 (#34)

* refactor: response 패키지로 이동

* refactor: exception 패키지로 이동

* refactor: 사용하지 않는 AuthException 제거

* fix: 예외 발생 시 HTTP 상태 코드가 올바르게 반환되도록 수정

* refactor: 중복된 status 필드 제거

* feat: 멤버 유틸리티 구현

* test: exception test 패키지 이동

* refactor: UserDetails 생성 시 PrincipalDetails 사용하도록 변경

* test: 멤버 유틸리티 테스트

* feat: Swagger Authorization 헤더 추가 (#36)

* fix: 도커 컨테이너 Timezone Asia/Seoul로 변경 (#38)

* feat: 회원 탈퇴 구현 (#40)

* refactor: gitkeep 제거

* feat: 쿠키 삭제 로직 구현

* feat: 회원 탈퇴 기능 구현

* feat: 회원 탈퇴한 멤버의 엑세스 토큰으로 요청 시 예외가 발생하도록 설정

* feat: 회원 탈퇴 후 재가입 시 회원의 상태를 normal로 변경

* test: 회원 탈퇴 테스트 코드 작성

* test: 멤버 유틸리티 테스트 코드 수정

* fix: 소셜 로그인 시 리프레시 토큰은 응답 바디에 포함되지 않도록 수정

* fix: swagger 인증 설정 오류 수정

* chore: Querydsl 설정 (#42)

* chore: querydsl 의존성 추가

* chore: querydsl config 추가

* feat: 팀 생성 및 참여 구현 (#44)

* feat: 팀 서비스 구현

* feat: 팀 참가 서비스 구현

* feat: 팀 api 구현

* test: 팀 서비스 테스트

* chore: RedisTemplate 추가

* feat: 팀 초대 코드 서비스 추가

* fix: 팀 생성/참가 기능에 초대 코드 추가

* fix: response에서 data 내부로 이중 반환하는 문제 수정

* test: 초대코드 서비스 테스트

* test: 팀 서비스 테스트 수정

* refactor: 팀 생성/참여 관련 swagger 설명 추가

* chore: redisUtil 구현

* refactor: 팀 컨트롤러 반환 값 변경 및 코드 컨벤션

* fix: 팀 생성 요청 스키마 설정

* refactor: 메소드 명 수정

* fix: dto 스키마 설정

* test: 팀 생성/참여 관련 서비스 테스트

* fix: 스키마 재설정과 @Valid 설정

* fix: dto 스키마 수정

* refactor: 팀 서비스 assertThat & Nested 사용 수정

* refactor: 팀 서비스 테스트 @beforeeach 삭제

* refactor: redisConstants 설정

* refactor: randomUtil 설정

* refactor: dto 스키마

* refactor: Spotless Code Formatter 적용 (#51)

* refactor: checkstyle 제거

* chore: spotless 플러그인 추가 및 설정

* style: spotless

* chore: pre-commit 파일 생성

* chore: build.gradle 스크립트 추가

* feat: 회원 프로필 이미지 및 닉네임 변경 기능 구현 (#47)

* chore: s3 의존성 추가

* chore: s3.yml 추가

* chore: s3 properties 추가

* chore: s3 client config 추가

* feat: 회원 프로필 이미지 Presigned URL 생성

* feat: url 공통 상수 추가

* feat: 회원 프로필 이미지 업로드 완료 처리

* fix: 기본 S3 엔드포인트 사용하도록 수정

* feat: 회원 닉네임 변경 기능 구현

* test: 이미지 업로드 및 완료 처리 테스트

* refactor: 잘못 추가된 패키지 제거

* refactor: gitkeep 제거

* refactor: 패키지명 수정

* test: 회원 닉네임 변경 테스트

* style: spotless

* chore: Validation 및 Internal Server Error 처리 (#55)

* feat: MethodArgumentNotValidException 예외 처리

* fix: request dto valid @notempty로 수정

* feat: Internal Server Error 예외 처리

* refactor: custom exception 메서드명 변경

* feat: 회원 정보 조회 (#59)

* feat: 회원 정보 조회 기능 구현

* test: 회원 정보 조회 테스트

* feat: 로그아웃 구현 (#58)

* feat: 로그아웃 기능 구현

* test: 로그아웃 테스트

* feat: 팀 수정, 팀 삭제, 팀 기본 정보 조회 기능 구현 (#53)

* feat: 팀 수정 및 삭제 기능 구현

* test: 팀 수정 및 삭제 서비스 테스트

* fix: 팀 이름 제한 수정

* fix: 초대코드 사이즈 제한 삭제

* refactor: PathVariable 앞 슬래시 추가

* fix: image request dto validation 수정 (#64)

* feat: project/sprint/task 도메인 추가 (#56)

* feat: project/sprint/task 도메인 추가

* fix: project/sprint/task 도메인 수정사항 반영

-@manytoone 매핑 fetch 옵션 LAZY 추가
- Ranking 엔티티 삭제(추후 구현)
- 일대다 매핑 추가(Sprint, Task 등 영속성 및 생명주기 관리 위한 cascade, orphanremoval 옵션 추가)

* fix: Project/Sprint 객체 생성 시 매개변수 필드 수정

- @nullable 로 List 자료형 매개변수 입력받는 기존 로직 -> 매개변수에서 제외, 무조건 빈 ArrayList 객체 필드 초기화, 자식 객체 생성 시에 매핑
- taskDifficulty 상/중/하(High/Mid/Low) 로 enum 값 설정

* fix: 중복된 칼럼 이름 변경

* fix:Builder에 사용된 중복된 List 객체 초기화 로직 제거

* feat: 팀 도메인에 이모지 추가 (#66)

* feat: 팀 이모지 관련 기능 추가

* test: 팀 이모지 기능 구현에 따른 팀 생성/수정 서비스 테스트

* refactor: 팀 서비스 테스트 전역 변수 관련 수정

* feat: 회원이 참여한 팀 목록 조회 (#67)

* refactor: 팀 도메인 필드명 수정

* feat: 회원이 참여한 팀 목록 조회

* test: 회원이 참여한 팀 목록 조회 테스트

* fix: 테스트가 실행되지 않는 오류 수정

* test: 테스트 격리 (#76)

* test: 데이터베이스 클리너 구현

* test: 통합 테스트 베이스 클래스 구현

* test: 통합 테스트 베이스 클래스 상속받도록 변경

* test: 테스트 환경 H2 DB 설정

* fix: 데이터베이스 클리너 로직 수정

* refactor: participant 도메인명 수정

* feat: 이미지 삭제 스케줄러 추가 (#72)

* chore: scheduler config 추가

* feat: 이미지 삭제 스케줄러 구현

* feat: 프로젝트 생성/조회 구현 (#68)

* feat: project 생성/조회 구현

* feat: projectParticipant 등록 구현

* refactor: 테스트 로직 및 API 응답 코드 수정/ 팀 ID로 프로젝트 목록 전체 조회 로직 추가

* feat: date period 유효성 검증 로직 추가

* fix: date period 유효성 검증 방식: 서비스에서 util 활용-> 엔티티 생성 시 검증하도록 변경

* fix: teamCreate 매개변수 타입 오류 해결 및 깃 merge commit 롤백

* fix: ProjectController API @Valid 어노테이션 제거

* fix: 테스트 오류 디버깅 위한 ProjectServiceTest 주석 처리

* fix: ProjectServiceTest @AfterEach 사용한 DB clear 로직 추가

* fix: 테스트 오류 디버깅 위한 TeamServiceTest 내 회원 참여 팀 정보 조회 테스트 주석 처리

* fix: Project 도메인 및 관련 클래스 내 Participant -> TeamParticipant 수정 / ProjectServiceTest->IntegrationTest 상속

* fix: createService 반환 타입 void 변경 및 테스트 코드 수정, ProjectInfoResponse 에 누락된 projectDescription 필드 추가

* fix: project dto schema 수정- projectDescription의 description

* fix: project reqeust - validation 추가(description 필드제외)

* fix: project request dto -> json 포맷팅 추가

* fix: project request 수정에 의한 테스트 오류 수정

* fix: project test 어노테이션 제거

* refactor: LocalDateTime 타입 LocalDate 변경 및 JsonProperty 어노테이션 제거 (#80)

* refactor: LocalDateTime 타입 LocalDate 변경 및 JsonProperty 어노테이션 제거

* refactor: deprecated 된 required = 'true' 옵션 제거

* feat: 팀에 속한 회원 이미지, 회원 목록, 팀장 조회  (#78)

* feat: 팀에 속한 회원 프로필 이미지 기능 구현

* test: 팀 멤버 조회 서비스 테스트

* feat: 팀장 제외 모든 멤버 목록 조회

* refactor: 팀 멤버 프로필 이미지 쿼리 변경

* feat: 팀 스페이스 내 팀장 조회 기능

* feat: 팀장 조회, 팀 멤버 목록 조회 기능 구현

* test: 팀장 조회, 팀 멤버 목록 조회 기능 테스트

* refactor: 리뷰 내용 반영
 - 팀 컨트롤러 내부 스키마 설명 수정
 - 조회 메소드 Transactional 설정
 - 팀 내 멤버 조회 메소드 멤버 리포지토리 이동
 - TeamAdminResponse 구현

* refactor: 팀장 응답 DTO 반환 시 query projection 사용 설정

* refactor: PathVariable 사용 변경

* refactor: projection에서 정적 팩토리 메소드 사용 변경

* refactor: projection 삭제

* fix: 팀장 조회 시 팀 참가자 validation 추가

* feat: 스프린트 생성 기능 구현 (#83)

* feat: 스프린트 생성 구현

* refactor: 예외 처리 시 상태 코드 수정

* refactor: Swagger API 목록 정렬 (#89)

* chore: swagger yml 설정

* refactor: API 태그 수정

* feat: 스프린트 수정, 삭제 기능 구현 (#86)

* feat: 스프린트 기본 정보 수정 구현

* feat: 스프린트 일정 및 진행 상태 수정 구현

* feat: 스프린트 삭제 구현

* refactor: 상태 코드 NOT FOUND로 수정

* feat: 스프린트 일정 validation 추가

* feat: 스프린트 생성 시에도 프로젝트 일정 범위 내에 있는지 체크하는 validation 추가

* feat: 프로젝트 리더만 스프린트를 삭제할 수 있도록 수정

* refactor: 예외 응답에서 field 및 given 제거 (#93)

* refactor: 예외 응답에서 field, given 제거

* fix: 테스트 코드 수정

* refactor: 스프린트 제목에 번호가 자동으로 지정되도록 변경 (#95)

* refactor: 스프린트 생성 시 번호가 자동으로 지정되도록 변경

* refactor: 스프린트 수정 시 제목을 수정하지 않도록 변경

* refactor: 스프린트 삭제 시 제목이 자동으로 조정되도록 변경

* feat: 프로젝트 업데이트 구현 (#85)

* feat: project 타이틀/목표/상세설명/일정 정보(시작/마감/상태) 업데이트 로직 구현

* refactor: 프로젝트 업데이트 API http method 수정

* refactor: 프로젝트 업데이트 로직 수정: Basic/TodoDate/TodoStatus update로 로직 재편 및 path variable 추가

* refactor: 프로젝트 업데이트 시 프로젝트 참여자 검증 로직 추가

* refactor: project save 메소드 제거 & dynamicUpdate 어노테이션 제거

* refactor: project not found 에러코드 교체

* refactor: project 참여 중인 프로젝트 리스트 패키징 -> isParticipate 로 구분하도록 로직 수정

* refactor: todo date/status 업데이트 로직 통합

* refactor: Project not found 에러코드 수정으로 인한 exception handler 테스트 오류 수정(400 -> 404)

* refactor: Project Controller Validation추가 + 단일 조회 시 프로젝트 참여자 검증 로직 추가

* refactor: basic-info/todo-info 엔드포인트명 수정 & ProjectTodoInfoUpdateRequest @NotNull validation 해제

* refactor: Project Title 텍스트 정규화 추가

* refactor: Basic/Todo Nullable 어노테이션 제거

* feat: Task 생성, 수정, 삭제 기능 구현 (#96)

* feat: 태스크 생성, 수정, 삭제 기능 구현

* test: 태스크 생성, 수정, 삭제 기능 테스트

* fix: 프로젝트 생성 테스트시 예시 변경

* fix: valid 어노테이션 및 request dto 수정

* refactor: 에러코드 메시지 수정

* refactor: swagger api 순서 기재, 에러코드 수정

* fix: 요청 dto 내 not null, not blank 삭제

* refactor: swagger tag 수정

* refactor: 태스크 에러코드 메시지 수정

* fix: 태스크 assign status 서비스 관련 수정

* feat: 태스크 완료 기능 구현

* test: 태스크 완료 & 할당 기능 테스트

* fix: taskInfoResponse 내용 수정

* fix: TaskServiceTest 내 스프린트 생성 수정

* refactor: 태스크 응답 dto 메소드 오버로딩

* fix: 프로젝트 참여자 검증 로직 추가

* feat: 태스크 중복 할당 예외처리

* refactor: 미사용 메소드 삭제

* test: 스프린트 테스트 코드 추가 (#100)

* test: 스프린트 생성 테스트 작성

* test: 스프린트 수정 테스트 작성

* test: 스프린트 삭제 테스트 작성

* feat: sos 기능 구현 & 관련 태스크 메소드 수정  (#104)

* feat: sos 상태 변환 메소드 구현

* feat: sos에서 task 할당 관련 권한 처리

* test: sos 관련 task 서비스 테스트

* fix: sos처리 된 task 할당 시 sos 상태 변경 수정

* feat: 프로젝트 삭제/나가기 구현 (#101)

* feat: project 삭제/나가기 로직 구현 + utill 중복 제거

* feat: delete 테스트 추가 및 프로젝트 삭제 시 연관된 모든 projectParticipant 삭제 로직 추가

* refactor: Http 상태코드 수정 + 메소드 래핑 제거

* feat: project 나가기 -> admin 권한 예외처리

- 프로젝트 참여자가 admin 1명일 때: project 삭제
- 프로젝트 참여자가 admin + 일반 유저 N명일 때: 에러 발생 -> 별도 API 로 권한 변경 필요
- projectAdminChange 위한 엔드포인트 추가

* refactor: 프로젝트 삭제 swagger summary 수정

* feat: 프로젝트별 스프린트 목록 조회 (#106)

* feat: 프로젝트별 스프린트 목록 조회 구현

* test: 프로젝트별 스프린트 목록 조회 테스트

* refactor: 파라미터 설명 수정

* fix: 팀 참여자가 스프린트 목록을 조회할 수 있도록 수정

* feat: OpenAI 기반 피드백 메시지 개선 (#109)

* chore: openai 설정 추가

* chore: openai properties 추가

* chore: openai feign client 추가

* refactor: openai 도입에 따른 feign config 수정

* feat: openai 기반 피드백 메시지 개선 구현

* refactor: 엔드포인트 수정

* feat: 프로젝트 가입/참여자 조회 구현 (#108)

* feat: 프로젝트 가입신청/승인/거절, 프로젝트 참가자 개인/목록 조회 로직 구현

* feat: 프로젝트 가입신청 취소 로직 구현 + 일부 메소드/url 매핑 오류 해결

* feat: 프로젝트 가입 신청/승인&거부, 프로젝트 참가자 조회 테스트 구현

* refactor: projectParticipant 도메인 projectNickname/projectProfileImageUrl 필드 추가 및 관련 로직 수정, 프로젝트 조회 시 프로젝트 멤버 확인 로직 삭제

* refactor: project 도메인 goal 필드 제거

* refactor: projectParticipant 도메인 position 필드 제거

* refactor: project 최대 참여 가능 멤버 수 제한(15명)

* refactor: projectParticipant 삭제 -> nickname/profileurl unknown 변경

* refactor: projectRegistration 스키마 오류 수정/fetchType 변경

* refactor: 이미 참가충인 프로젝트 참가자 가입신청 제한 로직 추가(admin/일반유저 구분 x)

* refactor: 미사용 projectParticiaption 존재 여부 확인 메서드 삭제

* feat: 피드백 메시지 전송 기능 구현 (#114)

* feat: 피드백 메시지 전송 기능 구현

* feat: 같은 스프린트에서 특정 대상에게 피드백은 한 번만 보낼 수 있도록 제한

* refactor: 피드백 중복 전송 예외 상태 코드를 409 CONFLICT로 변경

* feat: 피드백 메시지 전송 시 최대 길이를 600자로 제한

* test: 피드백 메시지 전송 기능 테스트

* feat: 스프린트 마감 당일에만 피드백 메시지를 전송할 수 있도록 제한

* test: 스프린트 마감 당일에만 피드백 전송 가능 여부 검증 테스트 추가

* refactor: 불필요한 value 속성 제거

* refactor: 프로젝트 목록 조회 QueryDSL 적용 (#105)

* feat: project 목록 참여별 조회 -> QueryDSL 페이지네이션 적용

* refactor: Project 목록조회 -> isParticipant 필터 적용, ProjectRegistration 목록 조회 페이지네이션 적용

* refactor: QEntity static import

* refactor: Projection constructor 생성자 컨벤션 수정

* refactor: custom Repostiory 상속 관계 정리 -> 메인 레포지토리로 일원화

* refactor: projectRegistrationRepository 칼럼 매핑명 오류 수정

* feat: 팀 미팅 생성 구현 (#117)

* feat: 팀 미팅 생성 구현(Sprint 도메인 의존성 추가 +SprintRepository 단일 조회 로직 추가

* refactor: 미팅 일시 dto description 수정

* refactor: meetingCreate 요청 형식 수정, 불필요한 Sprint 레포지토리 쿼리 메소드 삭제

* refactor: mapping url 추가

* refactor: 응답코드 created 수정

* refactor: 동일 제목/타이틀 방지 검증 로직 추가

* refactor: SprintRepository 기본조회로직 제거 확인

* refactor: MeetingRepository 기본조회로직 제거

* refactor: MeetingDt -> MeetingStart, MeetingEnd 분화, 8:00-00:00 검증로직 추가

* refactor: create url 수정

* refactor: 에러코드 메세지 도메인 변경사항 맞춰 일부 수정

* refactor: 스웨거 명세서 번호 수정 (8->9)

* feat: 피드백 메시지 조회 기능 구현 (#116)

* feat: 특정 프로젝트 참여자가 스프린트에서 받은 피드백 조회 기능 구현

* test: 특정 프로젝트 참여자가 스프린트에서 받은 피드백 조회 기능 테스트

* refactor: 프로젝트 참여자 ID 대신 프로젝트 ID 기반으로 조회하도록 변경

* test: 프로젝트 ID 기반 조회 방식 적용에 따른 테스트 코드 수정

* feat: 스프린트별 태스크 목록 조회 · 회원이 담당하고 있는 태스크 목록 조회 기능 구현  (#107)

* feat: 프로젝트별/스프린트별/멤버별 태스크 목록 조회 기능 구현

* refactor: 프로젝트별 태스크 조회 기능 삭제

* feat: 회원이 담당하고 있는 task 목록 스프린트 아이디별 조회 기능 구현

* test: 회원이 담당하고 있는 task 목록 스프린트 아이디별 조회 기능 테스트

* fix: 태스크 조회 시 필요 권한 삭제

* feat: 프로젝트 내 태스크 조회 권한 수정

* fix: 응답 dto 로직 제거

* feat: 태스크 목록 조회 시 queryDSL 설정

* refactor: task내 todoInfo 삭제 및 타 필드 추가

* refactor: projectParticipant 필드 수정 및 테스트케이스 반영 (#125)

* feat: 기여도 · 진척도 조회 기능 구현 (#112)

* refactor: sprint 패키지 내 기여도 부분 삭제

* feat: 기여도 조회 기능 구현

* test: 기여도 기능 테스트

* refactor: api description 수정

* feat: sprint별 진척도 조회 기능 구현

* test: sprint별 진척도 조회 기능 테스트

* fix: 스프린트 내 태스크가 존재하지 않을 경우 에러 처리

* fix: 등위 처리 관련 오류 수정

* fix: 스프린트 기여도 조회 권한 수정

* fix: 등위 필드 삭제

* refactor: 태스크 완료 시 진척도 업데이트 수정

* fix: 스프린트 필드 수정으로 인한 타 테스트 에러 수정

* refactor: 기여도 패키지/필드 이름 수정

* feat: 태스크 상태 변경 시 기여도 업데이트

* fix: 개인 기여도 조회 시 프로젝트 참여자 아이디 참조 수정:

* fix: PathVariable 프로젝트 아이디 수정

* test: 프로젝트 참가 포함 테스트 코드 추가

* fix: contribution dto 수정

* refactor: 개인 기여도 조회 시 스프린트 아이디 조회 설정

* fix: 프로젝트와 스프린트 일치 validate 로직 추가

* fix: 진척도/기여도 계산 시 유리수, dto 반환 시 정수 설정

* fix: 태스크 상태·sos 상태 수정 권한 수정, 이미 완료된 태스크 완료 시 에러 처리

* refactor: 프로젝트, 스프린트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경 (#128)

* refactor: 프로젝트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경

* refactor: 스프린트 생성 시 시작 날짜를 현재 날짜로 설정되도록 변경

* refactor: 프로젝트 수정 시 시작 날짜를 요청에서 제외하도록 변경

* fix: request dto 필드 수정

* refactor: 스프린트 수정 시 시작 날짜를 요청에서 제외하도록 변경

* test: 시작 날짜 요청 제거에 따른 테스트 코드 수정

* test: 스프린트 테스트 추가

* test: 스프린트 테스트 코드 수정

* test: 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* feat: 팀 미팅 수정/조회/삭제 (#123)

* feat: 팀 미팅 생성 구현(Sprint 도메인 의존성 추가 +SprintRepository 단일 조회 로직 추가

* refactor: 미팅 일시 dto description 수정

* refactor: meetingCreate 요청 형식 수정, 불필요한 Sprint 레포지토리 쿼리 메소드 삭제

* refactor: 동일 제목/타이틀 방지 검증 로직 추가

* refactor: SprintRepository 기본조회로직 제거 확인

* refactor: MeetingDt -> MeetingStart, MeetingEnd 분화, 8:00-00:00 검증로직 추가

* refactor: 팀 미팅 수정(스케줄러 로직-> 서비스 레이어로 이동, MeetingStart/End 개별 업데이트 가능하도록 로직 수정, MeetingInfoResponse 정적팩토리메소드 이름 수정)

* feat: meeting update 테스트 케이스 추가

* feat: meeting 조회 테스트 케이스 추가

* refactor: 미팅 시작/종료 시간 검증로직 순서 재배치

* refactor: 테스트 중 작성한 디버깅 코드 삭제

* refactor: start/end null 값으로 개별 업데이트 가능하도록 수정

* refactor: start/end 업데이트 시 검증 로직 수정 + 기존 일정 중첩 여부 검사 시 객체 자신 포함하지 않도록 쿼리 수정

* refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmin 응답필드 추가 (#133)

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정  (#131)

* fix: 스프린트 삭제 시 연관된 피드백도 함께 삭제되도록 orphanRemoval 설정 추가

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되지 않도록 수정

* test: 기존 스프린트가 종료되지 않은 경우 새 스프린트 생성 제한 테스트

* refactor: Class 객체 참조 시 불필요한 객체 생성 제거

* test: 기능 수정에 따른 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* Revert "refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmi…" (#135)

This reverts commit 9ba4a3c.

* refactor: 프로젝트 참가자 목록 조회 API 페이지네이션 적용 (#126)

* refactor: 프로젝트 참가자 목록 조회 페이지네이션 적용

* refactor: 프로젝트 내 개인 참가자 정보 조회 스웨거 설명 수정

* test: 리팩토링에 따른 테스트 코드 수정

* Revert "fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정  (#131)" (#136)

This reverts commit 32d65a2.

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되는 문제 수정 (#137)

* fix: 스프린트 삭제 시 연관된 피드백도 함께 삭제되도록 orphanRemoval 설정 추가

* fix: 기존 스프린트가 종료되지 않은 상태에서 새로운 스프린트가 생성되지 않도록 수정

* test: 기존 스프린트가 종료되지 않은 경우 새 스프린트 생성 제한 테스트

* refactor: Class 객체 참조 시 불필요한 객체 생성 제거

* test: 기능 수정에 따른 기여도 테스트 코드 수정

* test: 태스크 테스트 코드 수정

* feat: 회원별 프로젝트 내 스프린트 목록 조회 기능 구현  (#132)

* feat: 개인별 스프린트 목록 조회 기능 구현

* fix: 진척도 반환 시 정수로 반환 수정

* fix: 팀 참가자 검증 로직 수정

* chore: Nginx 리버스 프록시 도입 및 HTTPS 적용 (#138)

* chore: docker compose version 제거

* chore: nginx.conf 파일 추가

* chore: docker compose에 nginx 컨테이너 추가

* chore: nginx 도입에 따른 CI/CD 워크플로 수정

* chore: 테스트 트리거 활성화

* chore: 프로파일에 따라 Swagger 서버 URL 동적 설정

* chore: 개발 환경에서 CORS 허용 도메인 설정 추가

* chore: 테스트 트리거 제거

* refactor: 프로젝트 목록 조회 시 Admin 표시 (#142)

* refactor: projectListInfoResponse 요청/응답 형식 수정 및 isParticipant, isAdmin 응답필드 추가

* refactor: 테스트 코드 줄바꿈 적용

* chore: SpringEnvironmentHelper 적용 (#144)

* feat: 프로젝트 가입 신청 목록 조회 시 request의 닉네임과 프로필 함께 조회 (#146)

* chore: 개발 환경 ddl-auto 설정 변경 (#148)

* chore: 피드백 API security 설정

* chore: 개발 환경 ddl auto update로 변경

* fix: 프로젝트에서 나간 사용자(Unknown)에게 피드백 전송이 불가능하도록 수정 (#150)

* chore: 피드백 API security 설정

* fix: 프로젝트에서 나간 사용자(Unknown)에게 피드백 전송이 불가능하도록 수정

* test: Unknown 사용자에게 피드백 전송 시 예외 발생 테스트

* test: 피드백 전송 테스트 코드 수정

* fix: 스프린트 수정 시 마감일을 다음 스프린트 시작일 이후로 설정할 수 없도록 수정 (#153)

* fix: 스프린트 일정 수정 요청 시 마감일이 다음 스프린트 시작일 이후면 예외 발생하도록 검증 추가

* test: 스프린트 일정 수정 시 마감일 검증 테스트 추가

* feat: 스프린트와 태스크 조회 기능 구현  (#152)

* feat: 프로젝트 내 스프린트&태스크 목록 조회 기능 구현

* feat: 스프린트 기본 정보 조회 기능 구현

* feat: 회원별 스프린트 목록 조회 기능 구현

* fix: task response에 sos status 추가

* fix: task response 내 스프린트 아이디 필드 삭제

* fix: 메소드명 수정

* Revert "feat: 스프린트와 태스크 조회 기능 구현  (#152)" (#154)

This reverts commit e2e0ba4.

* refactor: project 삭제 uri 수정 (#158)

* refactor: 프로젝트 기본 정보 수정 Request Dto에서 goal 필드 제거 (#160)

* refactor: 프로젝트 기본 정보 수정 Request Dto에서 goal 필드 제거

* test: Request Dto에서 goal 제거에 따른 테스트 코드 수정

* feat: 스프린트 & 태스크 조회 기능 구현  (#155)

* feat: 프로젝트 내 스프린트&태스크 목록 조회 기능 구현

* feat: 스프린트 기본 정보 조회 기능 구현

* feat: 회원별 스프린트 목록 조회 기능 구현

* fix: task response에 sos status 추가

* fix: task response 내 스프린트 아이디 필드 삭제

* fix: 메소드명 수정

* refactor: 코드 통합 중 충돌 해결

* fix: 팀 정보 수정 시 팀 이모지 포함 수정 (#164)

* refactor: 프로젝트 및 스프린트 수정 API 하나로 통합 (#165)

* refactor: 프로젝트 수정 API 통합

* refactor: 스프린트 수정 API 통합

* test: API 수정에 따른 테스트 코드 수정

* refactor: 프로젝트 관련 에러 코드 네이밍 변경

* refactor: 스프린트 관련 에러 코드 네이밍 변경

* fix: 스프린트 페이징 방향 처리 누락으로 인한 목록 조회 오류 수정 (#169)

* fix: 기존 lastSprintId 기반 단방향 페이징을 direction 기반 양방향 구조로 수정

* test: 스프린트 목록 조회 테스트 코드 수정

* refactor: 스프린트 목록 조회 query 리팩토링

* refactor: Docker 네트워크 모드 bridge로 변경 (#161)

* refactor: docker network bridge로 변경

* fix: nginx.conf 파일 수정

* fix: Docker bridge 네트워크 전환 후 Nginx 502 에러 수정 (#171)

* fix: nginx proxy_pass 대상 devfit-server로 수정

* fix: redis 컨테이너 포트 제거

* fix: nginx 컨테이너 80 포트 추가

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

* fix: 태스크 진행 상태별 수정 삭제 권한 설정 (#176)

* chore: Swagger 보안 설정 (#167)

* chore: swagger 접근 시 username/pwd 인증

* chore: local과 dev swagger 로그인 설정 분리

* chore: swagger username 관련 application.yml 수정

* chore: .zshrc 파일 삭제

* chore: swagger userdetail 테스트 환경에서 빈 생성 방지 설정

* chore: 환경변수 그룹화

* refactor: projectInfoResponse teamName 추가 (#180)

* fix: 태스크 sos 후 본인 할당 문제 수정 (#178)

* fix: 태스크 sos 후 본인 할당 문제 수정

* fix: task 에러코드 메시지 수정

* fix: 에러코드 수정

* fix: 태스크 완료 처리 후 undo 기능 추가 & SOS 상태 태스크 완료 시 예외처리 (#177)

* fix: 태스크 완료 처리 후 undo 기능 추가 & SOS 상태 태스크 완료 시 예외처리

* fix: 에러코드 수정

* fix: validateTaskModifyAcess 메소드 분리

* feat: 운영 환경 구성 (#182)

* feat: prod 환경 지원을 위한 상수 및 profile 설정 추가

* feat: prod 환경에서 Swagger 인증 및 CORS 허용 도메인 설정 추가

* refactor: Swagger 인증용 InMemoryUserDetailsManager를 WebSecurityConfig로 이동

* feat: Swagger 인증 계정에 비밀번호 암호화 적용

* feat: feat: prod 환경 구성용 application-prod.yml 추가

* chore: 운영 환경 workflow 추가

* feat: Swagger 인증 환경 변수에 기본값 적용

* refactor: 개발 및 운영 환경에서 쿠키 설정 변경 (#184)

* refactor: 운영 환경에서 Cookie SameSite 속성 Strict로 변경

* refactor: 개발 및 운영 환경에서 secure 속성 true로 변경

* refactor: 쿠키 CORS 세팅 임시 완화 (#186)

* refactor: cookie cors 설정 일시적 무력화

* refactor: cookie secure 설정 해제

* Refactor/185 cookie cors tmp (#187)

* refactor: cookie cors 설정 일시적 무력화

* refactor: cookie secure 설정 해제

* cors 검증 일시 무력화

* cors 운영 프로필에 local url cors 임시 허용

* Revert "Refactor/185 cookie cors tmp (#187)" (#188)

This reverts commit 1119788.

* refactor: 프로젝트 참여자 나간 상태를 UNKNOWN 처리 방식에서 참여 상태로 관리하도록 개선 (#191)

* refactor: 프로젝트 참여자 프로필 필드 제거 및 참여 상태 필드 추가

* test: 프로젝트 참여자 필드 변경에 따른 테스트 코드 수정

* test: 프로젝트 서비스 테스트 코드 수정

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

* test: 태스크 조회 테스트 코드 임시 주석 처리

* refactor: meetingInfoResponse 응답 필드에 meetingId 추가 (#194)

* fix: 스프린트 내 태스크가 조회되지 않을 경우 예외 처리 & 팀/프로젝트/태스크 명 글자수 제한  (#195)

* fix: 팀/프로젝트/스프린트/태스크/미팅/회원 명 글자수 제한

* fix: 프로젝트 참가자 관련 필드 조인 수정

* fix: 기여도/태스크 dto 내 프로젝트 참가자 아이디 필드명 변경

* fix: 중복 메소드 제거

* refactor: changeProjectAdmin-> memberId -> projectParticipantId로 변경 (#197)

* refactor: projectParticipant status inactive 일 때 isParticipant 속성 false (#201)

* refactor: projectRegistration 검증 로직 status-Active 확인하도록 수정 (#203)

* Refactor/202 project request status (#204)

* refactor: projectRegistration 검증 로직 status-Active 확인하도록 수정

* refactor: project 목록 조회 시 joinStatus DTO 필드에 추가 및 쿼리 수정

* refactor: projectRegistration 생성 시 팀 전체-> 프로젝트 해당하는 요청만 검증하도록 오류 수정 (#205)

* bug: DB에 중복 칼럼 있을 시 첫번쨰 registration 반환하도록 디버깅 (#206)

* refactor: projectRegistration 생성 시 팀 전체-> 프로젝트 해당하는 요청만 검증하도록 오류 수정

* db에 중복 칼럼 있을 시 첫번쨰 registration 반환하도록 디버깅

* fix: 프로젝트 참가 칼럼명 수정 (#209)

* feat: 프로젝트별 스프린트 아이디 목록 조회 기능 (#211)

* feat: 프로젝트별 스프린트 아이디 목록 조회 기능

* refactor: sprintIdResponse 내 필드명 수정

* refactor: projectRegistration 삭제 요청 파라미터 및 내부 로직 수정 (#214)

* refactor: api 요청 파라미터 수정 (#215)

* feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드 (#218)

* feat: 스프린트별 참가자 목록 & 동료 평가 여부 반환 메소드

* fix: 빈 result를 반환하는 문제 수정

* fix: OpenAI 피드백 메시지 프롬프트 수정 (#217)

* fix: OpenAI 피드백 메시지 프롬프트 수정

* chore: 테스트 트리거 활성화

* chore: 테스트 트리거 제거

* fix: prod 환경 profile group 추가 (#221)

---------

Co-authored-by: Subin Cho <109792191+chsubinn@users.noreply.github.com>
Co-authored-by: Sunwoo Jung <104188728+willjsw@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨프로젝트 참가자 목록 반환 시 동료 평가 완료 여부 포함하여 반환

2 participants